import type { FollowType } from '@/types/consult'
import { ref } from 'vue'
import { follow } from '@/api/consult'

// 封装的关注逻辑
/**
 *
 * @param type 关注的类型
 */
export const useFollow = (type: FollowType = 'doc') => {
  const loading = ref(false)
  /** 返回值是由使用的地方决定的，这里是由van-button决定的
   * 它需要两个，一个是加载状态 loading，另外一个是按钮调用的函数
   * **/
  const onFollow = async (obj: { id: string; likeFlag: 0 | 1 }) => {
    loading.value = true
    // 发请求
    await follow(obj.id, type)
    // 更改按钮的状态
    obj.likeFlag = obj.likeFlag === 1 ? 0 : 1

    loading.value = false
  }

  return { loading, onFollow }
}
